package com.efast.dmom.mgmt.dao.mes;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.efast.dmom.mgmt.entity.mes.PrBasLoadingList;

public interface PrBasLoadingListDao {
	/**
	 * 通过装车单类型获取配置的装车单信息
	 * @param valType 装车单类型
	 * @return List
	 */
//	List<PrBasLoadingList> getLoadingListByConfigType(@Param("valType")String valType);
	/**
	 * 通过装车单类型和配置类型获取配置的装车单信息
	 * @param valType 装车单类型
	 * @param configType 配置类型
	 * @return List
	 */
	List<PrBasLoadingList> getLoadingListHead(@Param("partNoVersion")String partNoVersion,@Param("configType")String configType);
	
	List<PrBasLoadingList> getLoadingList(Integer id);
	//新增装车单值
	void addLoadingList(PrBasLoadingList enti);
	//新增装车单头
	void addLoadingListHead(PrBasLoadingList enti);
	//校验装车单重复值
	List<PrBasLoadingList> checkLoadingList(PrBasLoadingList enti);
	//校验装车单头部重复值
		List<PrBasLoadingList> checkLoadingListHead(PrBasLoadingList enti);
	//获取装车单下拉选值
	List<PrBasLoadingList> getPartInfo(PrBasLoadingList enti);
	//装车单头部删除
	void deleteLoadingListHead(Integer id);
	//根据装车单头id删除子信息
	void deleteLoadingListByHeadId(Integer id);
	
	void updateLoadingList(PrBasLoadingList enti);
	//校验打印序号是否存在
	List<PrBasLoadingList> checkPrintSerial(PrBasLoadingList enti);
	//获取特殊要求
	List<PrBasLoadingList> getspecialRequire(String vinOrSelf);
	/**
	 * 获取配置的装车单信息
	 */
	List<PrBasLoadingList> getLoadingListByConfigType(@Param("configType")String configType,@Param("partNoVersion")String partNoVersion);
}
